package com.yanqu.road.entity.log.soulbone;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.log.ServerBaseLog;
import com.yanqu.road.entity.log.maidian.BaseLogEntity;

import java.util.Date;
import java.util.List;
import java.util.Map;

@FieldTypeAnnotation(tableName = "t_l_ck_activity_soul_bone_lottery", autoSave = true, dataUpload = true, eventName = "discern_soul", desc = "鉴别魂骨")
public class LogSoulBoneLottery extends ServerBaseLog {

    @FieldTypeAnnotation(desc = "活动id", dataAttribute = "activityid", isIndex = true)
    private int activityId;

    @FieldTypeAnnotation(desc = "玩家id", isIndex = true)
    private long userId;

    @FieldTypeAnnotation(desc = "抽数", dataAttribute = "discern_num")
    private int drawTimes;

    @FieldTypeAnnotation(desc = "discern_use", dataAttribute = "discern_use")
    private String consume;

    @FieldTypeAnnotation(desc = "鉴别获得")
    private String reward;

    @FieldTypeAnnotation(desc = "鉴别获得", insert = false, dataAttribute = "discern_get")
    private List<Map<String, Object>> rewardObjectMap;

    @FieldTypeAnnotation(desc = "是否有6星及以上", dataAttribute = "discern_isbig")
    private boolean hasSixStart;

    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public LogSoulBoneLottery(int activityId, long userId, int drawTimes, String consume, String reward, List<Map<String, Object>> rewardObjectMap, boolean hasSixStart) {
        this.activityId = activityId;
        this.userId = userId;
        this.drawTimes = drawTimes;
        this.consume = consume;
        this.reward = reward;
        this.rewardObjectMap = rewardObjectMap;
        this.hasSixStart = hasSixStart;
        this.logTime = new Date();
    }

    @Override
    public long getUserId() {
        return userId;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getDrawTimes() {
        return drawTimes;
    }

    public void setDrawTimes(int drawTimes) {
        this.drawTimes = drawTimes;
    }

    public String getConsume() {
        return consume;
    }

    public void setConsume(String consume) {
        this.consume = consume;
    }

    public String getReward() {
        return reward;
    }

    public void setReward(String reward) {
        this.reward = reward;
    }

    public List<Map<String, Object>> getRewardObjectMap() {
        return rewardObjectMap;
    }

    public void setRewardObjectMap(List<Map<String, Object>> rewardObjectMap) {
        this.rewardObjectMap = rewardObjectMap;
    }

    public boolean isHasSixStart() {
        return hasSixStart;
    }

    public void setHasSixStart(boolean hasSixStart) {
        this.hasSixStart = hasSixStart;
    }

    public Date getLogTime() {
        return logTime;
    }

    public void setLogTime(Date logTime) {
        this.logTime = logTime;
    }
}
